package edu.wust;

import java.util.HashSet;

public class exam47 {
    public static boolean isPrime(int num){
        if(num<2)
            return false;
        if(num==2)
            return true;
        int n=(int)Math.sqrt(num);
        for(int i=2;i<=n;++i){
            if(num%i==0)
                return false;
        }
        return true;
    }
    public static void shotdiv(HashSet<Integer> arr,int num){
        int temp=num,start=2;
        while(temp!=1){
            int end=num/2;
            for(int i=start;i<=end;i++){
                if(isPrime(i)){
                    if(temp%i==0){
                        arr.add(i);
                        temp/=i;
                        if(temp%i==0)
                            --i;
                        break;
                    }
                }
            }
        }
    }
    public static boolean fun(int num){
        HashSet<Integer> arr=new HashSet<Integer>();
        shotdiv(arr,num);
        int count=arr.size();
        if(count==4)
            return true;
        return false;
    }
//    第一个有两个不同质因数的两个相邻整数是：
//            14=2×7
//            15=3×5
//    第一个有三个不同质因数的三个相邻整数是：
//            644=22×7×23
//            645=3×5×43
//            646=2×17×19
//    找到第一个有四个不同质因数的四个相邻整数，求这四个整数中的第一个。
//    答案：134043
    public static void main(String[] args) {
        int count=0;
        for(int i=16;;i++){
            if(!isPrime(i)){
                if(fun(i))
                    count++;
                else
                    count=0;
            }
            else{
                count=0;
            }
            if(count==4){
                System.out.println(i-3);
                break;
            }
        }

    }
}

